











package java.lang.annotation;

/**
 * 注解的生命周期
 */
public enum RetentionPolicy {

    /**
     * Java源文件(.java文件)
     * 注解只保留在源文件，当Java文件编译成class文件的时候，注解被遗弃
     */
    SOURCE,

    /**
     * class文件
     * 注解被保留到class文件，但jvm加载class文件时候被遗弃，这是默认的生命周期
     */
    CLASS,

    /**
     * 内存中的字节码
     * 注解不仅被保存到class文件中，jvm加载class文件之后，仍然存在；
     */
    RUNTIME
}
